Various types of iterative detection schemes operating with soft decisions regarding transmitted data have been proposed for communication channels and data storage systems. These schemes can utilize convolutional codes, Low Density Parity Check (LDPC) codes or Turbo-Product Codes (TPCs) to add redundant parity bits to original data and exploit them at a receiver side. Combined with a soft channel detector, for example, a Soft-Output Viterbi Algorithm (SOVA), these codes provide flexible tradeoffs in complexity, Bit Error Rate (BER), and Sector Failure Rates (SFR). Despite increasing latency in a decoding process, such iterative detection schemes are attractive solutions for designing advanced communication systems and high-density magnetic recording applications.
In optical and magnetic storage systems, as well as in some other communication systems, data are usually first encoded by an outer Error Correcting Code (ECC), then sent to a modulation encoder that introduces certain input constraints, and finally go to a channel encoder. The modulation encoder could be of a Run Length Limiting (RLL) type, a Running Digital Sum limiting (RDS) type or a Direct Current Free (DCF) type. A primary task of a modulation encoder is to facilitate operation of front-end stages of a channel, such as a preamplifier, a timing circuit, an equalizer, etc. This is usually achieved by creating a necessary structure in an encoded bit stream, for example, by preventing an imbalance of zeros and ones which can result in significant Direct Current (DC) content in a received analog signal. At the same time, the task of channel codes, such as an LDPC code or a TPC, is to guarantee required BER and SFR characteristics of a channel by introducing additional redundancy in transmitted data.
Channel coding and signal modulation can be implemented independently, using separate modulation and channel codes, or in a combined manner. In the latter case, a refined Euclidean distance structure of signals at an output of a channel is taken into consideration. This approach was originally developed for channels without memory and became well known as coded modulation. It jointly optimizes modulation (signal mapping) and coding so that the code is optimized in Euclidean space rather than with traditional Hamming distances. Free Euclidean distances, rather than Hamming distances define system performance, in particular, at SNR regions that are of practical interest. A key element of coded modulation is “set partition.” Set partition, as its name suggests, involves partitioning a signal constellation of a system of interest into many small subsets in a systematic manner. The assignment of signal subsets to represent coded bits is carried out to optimize Euclidean distances of received signals. Set partitioning usually coexists well with multi-level coding (MLC), which generates corresponding coded bits. Multi-level signal constellation is available for typical transmission channels without memory.
However, for magnetic recording channels, binary saturated recording is usually a most practical channel signaling method. Such binary saturated channels are examples of channels with inter-symbol interference (ISI). By equalization, an ISI channel is often converted to so-called Partial-Response (PR) channels with simple trellis representations. When represented by a trellis, a PR channel became a channel with memory. The application of coded modulation in channels with memory (for example, in PR channels) requires structured set partitions.
However, combining set partitioning and multi-level channel coding, and their application in storage and communication systems employing iterative detection and decoding, are non-trivial problems that need to be addressed.
Embodiments of the present invention provide solutions to these and other problems, and offer other advantages over the prior art.